Blog

ColdBox ORM service changes from M5 to M6

Luis Majano August 12, 2010

Spread the word

Luis Majano

August 12, 2010

Spread the word


Share your thoughts

There have been several changes from the ORM support classes from M5 to M6 that I will recap here thanks to muji in our google group and also to help out in the transition.  Our ORM support services are maturing every day and moving to a great solid release for 3.0.0 Final.  So let’s recap some of the changes:

 

  • Entity dependency injection are now controller and configured via the Autowire interceptor and not the ORM event handler anymore.  However, the ORM event handler MUST be enabled first.
  • findWhere() and findAllWhere() method parameters have changed, requiring a tweak in your code to account for the change.  Instead of accepting any add'l arguments besides orm entityName as the criteria, both functions now expect a "criteria" structure.
  • new() now takes in a properties argument that will be used to populate the new entity with
  • find() is now findIt() to not mess with the CF functions
  • get() now returns a new() entity if passed id=0 for convenience
  • deleteByID() returns # of rows deleted instead of boolean
  • new deleteAll() function
  • new validate(entity) function calls underlying Hibernate Validator() (EXPERIMENTAL), we are still evaluating our validation frameworks, but we would like to stay very very close to what Hibernate and JPA already offer. (http://links.mkt3261.com/ctt?kn=1&m=3181979&r=MTM5NTYzMTU5MjMS1&b=0&j=MTg5NjgzNjAyS0&mt=1&rt=0)  All help on this area is welcomed
  • new inline populate() functions: populate(), populatFromXML(), populateFromJSON(), populateFromQuery()
  • new() creations now announce an ORMPostNew interception if the ORM event handler has been created
  • New service property: EventHandling used by the service to announce certain things like ORMPostNew interceptions.

I believe these are the changes, am I missing something, please comment about it?

Add Your Comment

(1)

Aug 13, 2010 11:42:14 UTC

by Brett

I believe get() also returns a new entity if the id specified is an empty string.

Recent Entries

BoxLang AI 3.7: Profiles, Embeddings Defaults and MCP Rate Limiting

BoxLang AI 3.7: Profiles, Embeddings Defaults and MCP Rate Limiting

Ortus Solutions announces the release of BoxLang AI 3.7. Name a provider, model, params and API key once, then pick it by name for a call, an agent, or a single agent run. Embeddings get their own defaults, MCP servers you build get rate limiting and trusted proxies, and a handful of important fixes land along the way.

Luis Majano
Luis Majano
November 05, 2026
BoxLang  1.19.0: See Everything Your Code Does

BoxLang 1.19.0: See Everything Your Code Does

Ortus Solutions today announces the release of BoxLang 1.19.0, the software productivity platform for building, modernizing and running applications, with developers and AI agents working together. This release is about observability: built-in code coverage and execution profiling, the missing post-invocation events for BIFs, and new query and transaction events, and it pairs with the new BxLens beta, the debug bar and ops console that exposes hotspots and bytecode profilers. It also adds your own global settings in boxlang.json, static method interception, raw binary HTTP streaming and a lot of hardening across JDBC, Java interop and CFML compatibility.

Luis Majano
Luis Majano
November 05, 2026
Build AI Agents with Less Configuration: Join Luis Majano in Málaga

Build AI Agents with Less Configuration: Join Luis Majano in Málaga

Learn how to define, build, and run AI agents with BxAgents in a hands-on session organized by Malaga-AI and sponsored by Ortus Solutions! 🚀

Building an AI agent means connecting instructions, models, tools, and application logic. A clear project structure makes those pieces easier to organize and develop.

Maria Jose Herrera
Maria Jose Herrera
November 04, 2026